home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1993 July / InfoMagic USENET CD-ROM July 1993.ISO / answers / osi-protocols < prev    next >
Encoding:
Text File  |  1993-06-14  |  50.9 KB  |  1,089 lines

  1. Path: senator-bedfellow.mit.edu!enterpoop.mit.edu!news.kei.com!sol.ctr.columbia.edu!howland.reston.ans.net!xlink.net!fauern!rrze.uni-erlangen.de!not-for-mail
  2. From: unrza3@cd4680fs.rrze.uni-erlangen.de (Markus Kuhn)
  3. Newsgroups: comp.protocols.iso,comp.answers,news.answers
  4. Subject: comp.protocols.iso FAQ
  5. Supersedes: <osi-faq_737408214@cd4680fs.rrze.uni-erlangen.de>
  6. Followup-To: comp.protocols.iso
  7. Date: Mon, 14 Jun 1993 20:14:11 +0200
  8. Organization: Regionales Rechenzentrum Erlangen, Germany
  9. Approved: news-answers-request@MIT.Edu
  10. Expires: 28 Jul 1993 18:13:59 GMT
  11. Message-ID: <osi-faq_740081639@cd4680fs.rrze.uni-erlangen.de>
  12. Reply-To: mskuhn@immd4.informatik.uni-erlangen.de
  13. NNTP-Posting-Host: cd4680fs.rrze.uni-erlangen.de
  14. Lines: 1069
  15. Summary: Introductory information about OSI, a family of internationally
  16.          standardized computer communication protocols and services.
  17. Keywords: OSI, computer networks, standards, data communication, open systems
  18. Xref: senator-bedfellow.mit.edu comp.protocols.iso:4152 comp.answers:994 news.answers:9391
  19.  
  20. Archive-name: osi-protocols
  21. Last-modified: $Date: 93/06/14 20:09:00 $
  22. Version: $Revision: 1.5 $
  23.  
  24. Frequently Asked Questions about OSI with Answers
  25. -------------------------------------------------
  26.  
  27. This text is a monthly posting to the USENET group comp.protocols.iso.
  28. Its purpose is to give answers to some of the questions appearing most
  29. often in this group, to offer a minimal starting point in the learning
  30. curve of OSI beginners and to collect interesting information that
  31. appeared in USENET discussions.
  32.  
  33. Another FAQ (Archive-Name: standards-faq) which is posted to
  34. comp.protocols.iso and comp.std.misc contains information about the
  35. international standardization organizations (ISO, CCITT, ...), where
  36. their documents are available, what Internet recources provide
  37. information about standards etc.
  38.  
  39. You should be aware that reading this text will not replace reading a
  40. good book about OSI!!!
  41.  
  42. If you have a suggestion how this text might be improved or have text
  43. that you would like to be added, please send it to Markus Kuhn
  44. <mskuhn@immd4.informatik.uni-erlangen.de>. The most preferred form of
  45. contribution are texts that can simply be cutted and pasted into the
  46. FAQ (e.g., new questions and additional paragraphs). Please post more
  47. philosophical doubts about the explanations in the FAQ to the USENET
  48. group, in order to give other people a chance to make suggestions.
  49.  
  50. This FAQ is crossposted to news.answers and won't expire there on
  51. well-managed news systems until the next version has been posted. As a
  52. consequence of being crossposted to news.answers, this text will also
  53. be automatically archived on many FAQ servers all over the world (e.g.,
  54. look with anonymous ftp at rtfm.mit.edu in /pub/usenet/news.answers).
  55. You'll also find there many other answers to frequently asked questions.
  56.  
  57. Don't be angry if anything in this text is incorrect. As with all
  58. information exchanged on USENET, you only get what you pay for and the
  59. current author isn't paid a single pfennig for this FAQ. Better mail me
  60. the correction! And don't forget, that it can't be the purpose of a FAQ
  61. to provide 100% formal accuracy. The purpose of the FAQ is to give
  62. beginners the minimum overview of the most important concepts that is
  63. necessary to dereference pointers to more detailed information and not
  64. to replace the standards.
  65.  
  66. The author of this FAQ has lost much of his enthusiasm for OSI since
  67. the first version has been posted and won't spend too much time in
  68. maintaining it. If you have much more energy left for this subject and
  69. are interested in continuing with the FAQ, just contact me! I'll
  70. concentrate on this text's brother, the Standards FAQ, which has
  71. received much more interest and contributions.
  72.  
  73. I hope you enjoy it ...
  74.  
  75. Markus
  76.  
  77.  
  78. Contents
  79. --------
  80.  
  81.   What is OSI?
  82.   What is the OSI reference model?
  83.   What is ASN.1?
  84.   What OSI standards are there?
  85.   How are OSI and TCP/IP related?
  86.   Which is better: TCP/IP or OSI?
  87. + OSI criticism
  88.   Which free OSI implementations are available?
  89.   New and planned OSI standards
  90.   Books and Journals
  91.  
  92. A '+' in the first column marks a topic that has been added since this
  93. FAQ has been posted the last time and a '!' marks a change. Trivial
  94. typographic changes are not marked.
  95.  
  96.  
  97.  
  98. What is OSI?
  99. ------------
  100.                    "the first successful worldwide attempt to develop a set
  101.                     of comprehensive standards for computer communications"
  102.                                                              (Uyless Black)
  103.  
  104. OSI is an abbreviation for Open Systems Interconnection. In the early
  105. 80's, people in several standardization committees all over the world
  106. felt that the time had come to develop a set of non-proprietary
  107. standard protocols. They hope that one day these protocols will replace
  108. most of the vendor-dependent specifications and that this will make the
  109. way free for easy and flexible world-wide computer communication. It
  110. took nearly a decade before the first results were produced: a
  111. reference model and a set of layer standards from physical cable
  112. definitions up to distributed databases and information systems,
  113. together with management and security tools. The process of
  114. standardization hasn't been finished yet and probably won't be in the
  115. next decade, but we already have a powerful set of protocols for the
  116. most important applications. These specifications have been published
  117. as ISO standards and CCITT recommendations.
  118.  
  119.  
  120. What is the OSI reference model?
  121. --------------------------------
  122.  
  123. A good international standard should be flexible and extensible. In
  124. order to achieve this goal, it seems to be a good idea to separate a
  125. complex structure like a computer protocol in several modules. Each
  126. module should be of manageable size and, if different techniques are
  127. available for a certain aspect of a protocol, then the separation into
  128. modules makes it quite easy to change this part of the whole system
  129. (e.g. the cable specification or the encoding of data) without touching
  130. the rest of the specification.
  131.  
  132. The OSI Reference Model (RM) defined in ISO 7498 divides the
  133. communication process between two application programs into 7
  134. intermediate layers. Each layer provides a certain kind of service to
  135. the next higher layer. This service is provided by communicating with
  136. the peer entity in same layer of the remote host using the service
  137. provided by the next lower layer. Some of the layer entities may be
  138. implemented in physical devices, some may be part of the operating
  139. system and some may be included in application programs. Most layers
  140. provide their service by forwarding protocol data units to the next
  141. layer together with an added or removed header or by performing other
  142. functions and state changes.
  143.  
  144. The OSI Reference Model only defines the abstract notion of layers and
  145. does not specify whether the boundaries between the layers have to be
  146. visible and documented in implementations. There are other standards
  147. that define application program interfaces (APIs) between the operating
  148. system and the application and these APIs often correspond to a layer
  149. boundary in the OSI Reference Model.
  150.  
  151. The classic standard diagram that is normally used to describe the OSI
  152. RM looks like this:
  153.  
  154.  
  155.      End System                      End System
  156.  
  157.      +-------+                       +-------+
  158.      |   7   |                       |   7   |     Application Layer
  159.      +-------+                       +-------+
  160.      |   6   |                       |   6   |     Presentation Layer
  161.      +-------+                       +-------+
  162.      |   5   |      Intermediate     |   5   |     Session Layer
  163.      +-------+         System        +-------+
  164.      |   4   |                       |   4   |     Transport Layer
  165.      +-------+     +-----------+     +-------+
  166.      |   3   |     |     3     |     |   3   |     Network Layer
  167.      +-------+     +-----+-----+     +-------+
  168.      |   2   |     |  2  |  2  |     |   2   |     Data Link Layer
  169.      +-------+     +-----+-----+     +-------+
  170.      |   1   |     |  1  |  1  |     |   1   |     Physical Layer
  171.      +-------+     +-----+-----+     +-------+
  172.          |            |     |            |
  173.          +------------+     +----...-----+
  174.  
  175.  
  176. The PHYSICAL LAYER provides the service of transferring bits from one
  177. end of the physical medium to the other. This includes the
  178. specification of the medium (wire, coax cable, fiber optics, radio
  179. signals, laser signals, microwave signals, seismic waves, ... :-) as
  180. well as the connectors, the modulation techniques, environmental limits
  181. etc.
  182.  
  183. The DATA LINK LAYER uses the bit-transfer ability of the physical layer
  184. to provide a secured link between two hosts. This includes functions
  185. like error detection and correction, separating data blocks,
  186. controlling media access, etc.
  187.  
  188. In a network, not every computer has to be connected to each other
  189. directly. Hosts should be able to forward data packets according to an
  190. address field that has been attached to the packet. The NETWORK LAYER
  191. provides the service of routing and delivering a packet to any host in
  192. the network. In intermediate systems, where there's no application
  193. program involved in the communication, the packets are only processed
  194. by the lower three layers.
  195.  
  196. Each layer (especially 2 and 3) can operate in two different modes. In
  197. the CONNECTION-ORIENTED (CO) mode, the communication goes through
  198. several stages similar to a telephone call: (1) dial, (2) wait until
  199. the connection has been established, (3) communicate, (4) close the
  200. connection, (5) wait until close of the connection has been confirmed.
  201. The connection-oriented mode guarantees that no packets are lost and
  202. that all packets arrive in the same order in which they have been sent.
  203. In contrast, in the CONNECTIONLESS (CL) mode only a datagram service is
  204. provided, similar to the postal letter service. No one guarantees that
  205. the letters arrive in the same order in which they have been sent, and
  206. every intermediate system is allowed to discard a packet if there are
  207. insufficient resources available to deal with it (e.g. buffers are
  208. full). In CL-mode systems, higher layers have to deal with
  209. resequencing, retransmission of lost packets, etc. where a reliable
  210. data stream is required.
  211.  
  212. There is endless debate about whether the CONS (connection-oriented
  213. network service) or the CLNS should be provided by the network layer
  214. and now both alternatives have been defined in OSI standard protocols.
  215. As most applications want to exchange several packets in sequence, they
  216. need a CO-mode service. The TRANSPORT LAYER has been introduced in
  217. order to hide the differences between several network concepts (CO vs.
  218. CL and other things like maximum packet size and quality of service)
  219. from the connection-oriented transport service (COTS) user. In the case
  220. of a CO network, the COTS is quite simple to provide, but over a CL
  221. network, complete error correction and flow control has to be provided
  222. in the transport layer.
  223.  
  224. The main advantage of the CLNS is higher efficiency because fewer CPU 
  225. cycles for complex flow control algorithms are needed in intermediate
  226. systems (routers). If no connection-oriented transport service is
  227. needed, then the response time may be significantly shorter over a
  228. CLNS. CONS, on the other hand, makes accounting easier for network
  229. providers, as only correctly delivered packets are counted. The headers
  230. of the connection-oriented network protocol packets may be much
  231. shorter, as the full address is not required in each packet, which
  232. might be relevant on slow lines. In addition, many existing nets are
  233. CO, e.g. X.25 nets, the telephone net and ISDN.
  234.  
  235. The SESSION LAYER offers a mechanism to include synchronization points
  236. in the stream of exchanged packets and to go back to one of the
  237. previous sync points. This might be useful if large files are
  238. transferred and it is possible to recover after a breakdown without
  239. having to retransfer the whole file. The session layer only provides
  240. the means to negotiate a recovery. The recovery has to be done by the
  241. application and not by the software that implements the session layer.
  242. This is the reason why many experts consider the session layer as one
  243. of the darker corners of the OSI model, especially as this part of the
  244. standard is quite complex and difficult to understand. Perhaps it would
  245. have been a better choice to include the session layer functionality
  246. somewhere in the application layer. Don't worry if you don't understand
  247. the exact ideas behind the design of the session layer, you are not
  248. alone. There are even obscure relations with CCITT T.61, although only
  249. very few people seem to understand why compatibility with an old
  250. Teletex protocol was necessary in the session layer design ...
  251.  
  252. The PRESENTATION LAYER provides for negotiation of the form of
  253. representation (syntax) of the data that will be transferred. This
  254. makes sense if several optional ASN.1 encodings or other syntaxes 
  255. (e.g. the X Window System protocol) are possible.
  256.  
  257. Finally, the APPLICATION LAYER provides an application-specific
  258. service. This is not the application itself, but the application layer
  259. is directly used by an application program. For instance, an electronic
  260. mail user interface program might use the X.400 application layer in
  261. order to send a message to another host. Here the application layer
  262. will deal with things like address resolution, routing decisions,
  263. transferring and converting (even very huge) messages, etc. Other
  264. application layer standards offer services like accessing remote file
  265. systems, controlling video terminals and transaction systems, etc.
  266.  
  267. In addition to the 7 layers, the OSI Reference Model defines a
  268. management and a security architecture that includes all 7 layers.
  269.  
  270.  
  271. What is ASN.1?
  272. --------------
  273.  
  274. Most protocols are defined as sets of protocol data units (PDUs) that
  275. might be exchanged between two hosts. A PDU is a sequence of bytes that
  276. one host uses to tell the other one something according to the rules of
  277. the protocol. Quite early in the OSI project, it was recognized that a
  278. formal way of defining the syntax of PDUs was needed, i.e. something 
  279. like the well-known context-free Backus-Naur grammars (BNF) are used to
  280. define the syntax of programming languages. ASN.1 (abstract syntax
  281. notation number 1) plays the same role in defining OSI protocols that
  282. BNF plays in the definition of a programming language: it gives a
  283. precise and parseable specification how PDUs are structured and which
  284. structures are allowed, but it says nothing about the meaning of a PDU.
  285. This is still defined in English language in the OSI standards.
  286.  
  287. ASN.1 specifies only the 'abstract syntax' of a PDU. This means that it
  288. only says that, for example, a PDU consists of 2 integer numbers (of
  289. arbitrary size), one optional UTC time value and one ISO 10646 string
  290. or, alternatively, one ASCII string. ASN.1 doesn't define the 'transfer
  291. syntax', the way in which the values in the abstract syntax (e.g. {2,
  292. 42, 1992-10-6 10:09:34, "Hey!"}) are encoded in the sending or
  293. receiving computers, or on the transmission path between them. Several
  294. different transfer syntaxes have been defined. The most widely used one
  295. is BER (basic encoding rules). Other transfer syntaxes are simplified
  296. BER subsets or provide a one-to-one mapping between abstract value and
  297. the bit string for cryptographic applications or are optimized with
  298. regard to CPU time or PDU length.
  299.  
  300. An example:
  301.  
  302.        NonsenseProtocol ::= CHOICE {
  303.                               testPDU [0] TestPDU,  -- Our example
  304.                               getFile [1] GetFile   -- another possible PDU
  305.                             }
  306.  
  307.        TestPDU ::= SEQUENCE {
  308.                      aNumber INTEGER,
  309.                      anotherNumber INTEGER,
  310.                      today UTCTime OPTIONAL,
  311.                      theText CHOICE {
  312.                                multilingualText ISO10646String,
  313.                                standardText     VisibleString
  314.                              }
  315.                    }
  316.  
  317. The BER encoding consists of tag-length-value triples for both composed
  318. types (CHOICE, SEQUENCE, SEQUENCE OF, SET, SET OF, tags, ...) and
  319. primitive types (integers, strings, ...). The tag identifies the type
  320. of the value (e.g. 0 for testPDU and 1 for getFile) and the length
  321. defines the end of the TLV triple. This allows an implementation to
  322. jump efficiently over (perhaps even unknown) values and makes ASN.1
  323. defined protocols very extensible.
  324.  
  325. As an example the encoding of the value {2, 42, 1992-10-6 10:09:34,
  326. "Hey!"} of type NonsenseProtocol:
  327.  
  328.   a0 80 ----------------------- Length encoding: indefinite.
  329.    +--------------------------- Explicit tag: [0] means that we took
  330.                                 the testPDU alternative of the choice.
  331.                                 
  332.   30 80 ----------------------- again indefinite length form, as we don't
  333.    |                            know how long the SEQUENCE will finally be.
  334.    |                            Consequently, the end of the SEQUENCE will
  335.    |                            have to be marked by a 00 00 component.
  336.    +--------------------------- This is a composite type SEQUENCE.
  337.  
  338.   02 01 02 -------------------- The value 2.        
  339.    |  +------------------------ Length of the value: 1 byte.
  340.    +--------------------------- This is an INTEGER value.
  341.  
  342.   02 01 2a -------------------- The value 42.        
  343.    |  +------------------------ Length of the value: 1 byte.
  344.    +--------------------------- This is another INTEGER value.
  345.  
  346.   17 0d 39 32 31 30 30 36 31 30 30 39 33 34 5a
  347.    |  | --------------------------------------
  348.    |  |                 +------ The encoded date and time.
  349.    |  +------------------------ Length: 13 bytes.
  350.    +--------------------------- Type: UTCTime.
  351.  
  352.   1a 04 48 65 79 21
  353.    |  | -----------
  354.    |  |      +----------------- The value: 'Hey!' coded in ASCII.  
  355.    |  +------------------------ This is 4 bytes long.
  356.    +--------------------------- We used the VisibleString alternative
  357.                                 of CHOICE.
  358.  
  359.   00 00 ----------------------- This is the end of the indefinite length
  360.                                 SEQUENCE.
  361.  
  362.   00 00 ----------------------- This is the end of the explicitly tagged
  363.                                 CHOICE alternative TestPDU.
  364.  
  365. Another very important ASN.1 concept and data type are object
  366. identifiers. These are lists of integers that uniquely identify any
  367. object in a protocol, e.g. a X.400 body part, a DFR document type, a
  368. X.500 attribute type, a public key algorithm, a protocol version, etc.
  369. If one object identifier is yours, then only you are allowed to append
  370. further numbers to your OID and create new object identifiers that only
  371. belong to you. You may give some of your newly created object
  372. identifiers to other people, and, then, they also have the right of
  373. creating their own new subtrees in the OID space. The highest levels in
  374. this tree belong to ISO and CCITT, and they have already reserved OIDs
  375. for many organizations. This allows you, for instance, to define your
  376. own X.400 high-end cyberspace body part, and it won't collide with
  377. someone else's self-defined body part if a prefix of the OID belongs to
  378. you. As many options in OSI protocols are identified by OIDs, it is
  379. very easy for implementors to extend the protocols without getting in
  380. conflict with older implementations which will know that they don't
  381. know this new OID. Many protocols exchange sets of OIDs that identify
  382. their implemented subsets and extensions after the connection has been
  383. established and automatically determine the biggest common subset of
  384. all optional protocol features that both may use.
  385.  
  386. Today ASN.1/BER are also used in many non-OSI protocols and file
  387. formats, and there are a number of tools (ASN.1 compilers) available
  388. that help to create parsers automatically from ASN.1 specifications.
  389.  
  390.  
  391. What OSI standards are there?
  392. -----------------------------
  393.  
  394. As two organizations have been involved in the OSI standardization
  395. process, many of the specifications have been published as both ISO
  396. standards and CCITT recommendations. In these cases, both versions are
  397. "technically aligned" or one version is a subset of the other one.
  398.  
  399. The OSI Reference Model, as defined in ISO 7498-1 and CCITT
  400. recommendation X.200, describes the details of the seven-layer model.
  401. The three other parts of ISO 7498 describe the Security Architecture,
  402. Naming and Addressing and the Management Framework.
  403.  
  404. Formal protocol description methods are defined in ISO 8807 (LOTOS,
  405. Language Of Temporal Ordering and Specification), ISO 9074 (ESTELLE)
  406. and ISO 9496 (CHILL). ISO 9646 standardizes methods for conformance
  407. testing e.g. the Tree and Tabular Combined Notation (TTCN) for test
  408. suites. ISO TR 10167 (Application guidelines for ESTELLE, LOTOS and SDL)
  409. includes a number of examples of systems, showing how each of them can
  410. be specified using these three standards.
  411.  
  412. International registration procedures for things like OSI document
  413. types, object identifiers, virtual terminal profiles and control
  414. objects and application process titles are described in ISO 9834 and
  415. X.660. Registration means that a world-wide unique identifier will be
  416. reserved for your extension to an OSI protocol, which guarantees that
  417. extensions developed by different people won't collide with each other
  418. and possible future ISO extensions.
  419.  
  420. ISO 8824 and X.208 standardize ASN.1. ISO 8825 and X.209 standardize
  421. the Encoding Rules (BER and soon others) for it.
  422.  
  423. The details of the Security Framework are defined in ISO 10181, and 
  424. ISO 10745 describes the Upper Layers Security Model. Several security
  425. techniques are standardized in ISO 9796 (Digital Signature Scheme
  426. Giving Message Recovery) and ISO 9798 (Entity Authentication
  427. Mechanisms, Symmetric Techniques and Public Key Algorithms). You may
  428. register your own cryptographic algorithms as defined in ISO 9979.
  429.  
  430. Many OSI standards have been divided in two documents, the service
  431. definition and the protocol specification, in order to separate the
  432. description of the functionality from the description of the protocol
  433. realization.
  434.  
  435. Layer seven has been further subdivided into several modules (service
  436. elements), as some of them may be useful for more than one application.
  437. This Application Layer Structure is defined in ISO 9545 and CCITT
  438. X.207. The Association Control Service Element (ACSE) (ISO 8649|X.217
  439. service definition and ISO 8650|X.227 protocol definition) manages the
  440. establishment of a connection between two remote applications. CCR
  441. (Commitment, Concurrency and Recovery) is a service element that
  442. provides services needed for keeping distributed databases consistent
  443. (ISO 9804/9805|X.861/871). ISO 9066 and CCITT X.218/228 define the
  444. Reliable Transfer Service Element (RTSE) that transfers huge messages
  445. safely from one node to the next one with recovery, etc. (e.g. used by
  446. e-mail). The Remote Operations Service Element (ROSE) allows a client
  447. to execute operations at a server process and to receive the results or
  448. error indications.
  449.  
  450. Now, it's time to come to the most interesting part of the whole OSI
  451. story, the application services and protocols:
  452.  
  453. ISO 9595 and CCITT X.710 define the Common Management Information
  454. Service (CMIS) and ISO 9596|X.711 the Common Management Information
  455. Protocol (CMIP) that may be used for controlling all parts of a
  456. computer network, e.g. routers, queues, environmental sensors,
  457. accounts, security logs, installed software versions, clocks, etc. ISO
  458. 10164 describes these various aspects of System Management, and ISO
  459. 10165 standardizes the Management Information Model used for
  460. controlling all these devices.
  461.  
  462. FTAM (File Transfer, Access and Management) is a protocol defined in
  463. ISO 8571 that has been designed for both simple file transfers a la
  464. kermit and DoD ftp and for directly accessing remote file systems like
  465. NFS, etc.
  466.  
  467. The Virtual Terminal (VT) service and protocol specified in ISO 9040
  468. and ISO 9041 allow a host application to control a terminal with screen
  469. and keyboard and similar devices like printers. In addition, not only
  470. application-terminal, but also the less common application-application
  471. and terminal-terminal communication is supported. Today, only the Basic
  472. Class VT, which covers character-oriented terminals has been specified.
  473. This service is comparable to DoD Telnet and the old CCITT
  474. X.3/X.28/X.29 PAD protocol, but much more powerful. It also includes
  475. control of cursor movement, colors, character sets and attributes,
  476. access rights, synchronization, multiple pages, facility negotation,
  477. etc. This means that the huge number of classic terminal type
  478. definitions (e.g. in UNIX termcap or terminfo) are unnecessary at each
  479. host in the net, as the VT protocol includes the corresponding commands
  480. for one abstract virtual terminal that only have to be converted by the
  481. local implementation to the actual terminal control sequences.
  482. Consequently, the use of VT means not every host needs to know every
  483. type of terminal. 
  484.  
  485. As with most ISO standards that require general consensus amongst
  486. participating members, the OSI VT has many optional capabilities, two
  487. modes of operation and an almost infinite number of implementation-
  488. specific options. Profiles may help in reducing the optionality present
  489. (e.g., there exists a Telnet profile for VT).  But it is doubtful that
  490. the OSI VT can completely put an end to the 'm x n' terminal
  491. incompatibility problem that exists in a heterogeneous computer
  492. network.
  493.  
  494. ISO 8831 and ISO 8832 define the Job Transfer and Manipulation (JTM)
  495. protocol and service that may be used to control the disposition of the
  496. programs and files and the execution of processes on remote hosts, to
  497. query their status and to retrieve the results.
  498.  
  499. The X.400 electronic mail system, also known as Message Handling System
  500. (MHS) is specified in CCITT X.400-X.440 and in ISO 10021. The system
  501. consists of Message Transfer Agents (MTAs), that store and forward
  502. messages through the network and User Agents (UAs) that present the
  503. mail to the end user and allow him/her to send mail. The X.400 P1
  504. protocol which is used between MTAs is based on the RTSE. The MTAs
  505. transfer the messages to and from the UAs using the P3 protocol or by
  506. local means (e.g. the file system if both processes run on the same
  507. host). The Message Transfer System (MTS) that is formed by all MTAs may
  508. be used for Interpersonal Messaging (IPM) or for other purposes (e.g.
  509. system management). The MTS is used for sending mail to other people
  510. directly or via Distribution Lists (DLs) and to transport delivery
  511. reports (after the message has been delivered or discarded) and
  512. receipt/non-receipt notifications (after the message has been read by
  513. the recipient or deleted without ever having been seen by the
  514. recipient) back to the sender. MTAs may be capable of converting
  515. message body part types (e.g. different character sets or voice data
  516. encodings) and rerouting if default links are unavailable.
  517.  
  518. X.500-X.521 and ISO 9594 specify the OSI Directory Service (DS). The DS
  519. is a distributed database used for storing information about people,
  520. organizations, application processes (e.g. MTAs or public DFR servers),
  521. routing tables, etc.  X.500 may be used to search the X.400 addresses
  522. of people interactively as well as other attributes like their phone
  523. number, postal address, preferred delivery method (fax, mail, etc.),
  524. photo and public keys. X.509 specifies a distributed authentication
  525. framework based on the DS. The X.500 directory information base is
  526. structured hierarchically, i.e. the entries that represent real world
  527. objects (countries, persons, servers, management information, news
  528. groups, distribution lists, groups of persons, organizational roles,
  529. etc.) are connected to a world wide tree. Each entry has a number of
  530. standardized or locally defined attributes and a unique Distinguished
  531. Name that describes its location in the tree. Generally, there are
  532. nodes for countries under the root and nodes for organizations under
  533. each country and these may be further subdivided and contain person
  534. entries, etc. But also other tree stuctures are possible. Powerful
  535. search queries allow the implementation of easy-to-use Directory User
  536. Agents (DUAs, the clients) that provide users the ability to find
  537. information stored in the interconnected Directory System Agents (DSAs,
  538. the servers). The DSAs talk to each other using the Directory System
  539. Protocol (DSP). DUAs send their queries and modification commands to
  540. the DSAs using the Directory Access Protocol (DAP).
  541.  
  542. The Document Filing and Retrieval (DFR) service and protocol are
  543. defined in ISO 10166. A document store may contain a large number of
  544. documents (ASCII texts, word processing files, hypertext files,
  545. software packages, etc.) together with attributes like title, name of
  546. the author, date of creation and latest modification, version number,
  547. pointers to other copies of the same document, pointers to older
  548. versions, language, summary, keyword list, access rights, lock
  549. semaphores and so on. Documents may be arranged in a tree and described
  550. with attributes very similar to the X.500 database. DFR allows the
  551. implementation of an easy to use distributed information retrieval
  552. system similar to the Internet gopher. In addition to the gopher
  553. protocol, the DFR protocol provides the ability to store and modify
  554. documents, access control, searches on attributes, a version control
  555. mechanism and other things. Documents may also be represented by links
  556. to other DFR servers and a unique identifier is assigned to each
  557. document by the system, so that the user need not be aware that he/she
  558. accesses several servers while browsing through the document (and
  559. perhaps hypertext) space. Documents may be of various types (e.g. ODA,
  560. SGML and HyTime, X.400 IPM messages, binary).
  561.  
  562. The Bibliographic Search, Retrieval and Update Service and Protocol
  563. (SR) are defined in ISO 10162/10163. It is based on NISO Z39.50.
  564.  
  565. An Interlibrary Loan Service and Protocol are specified in ISO
  566. 10160/10161 for library applications.
  567.  
  568. ISO 10031 defines Distributed Office Applications (DOA).
  569.  
  570. The Manufacturing Message Specification (MMS) Service and Protocol have
  571. been defined for controlling and integrating industrial automation
  572. systems (ISO 9506).
  573.  
  574. An application layer protocol for Remote Database Access (RDA) is
  575. specified in ISO 9579 and a Distributed Transaction Processing Model,
  576. Service and Protocol is defined in ISO 10026 and X.850/860/870.
  577.  
  578. This was a very short overview on the application layer. Now let's dive
  579. into the deeper layers.
  580.  
  581. The OSI presentation layer service and protocol are defined in ISO
  582. 8822/8823 and X.216/226. A connectionless mode protocol version is
  583. specified in ISO 9576.
  584.  
  585. The OSI session layer service and protocol are defined in ISO 8326/8327
  586. and CCITT X.215/225. The connectionless variant is specified in ISO
  587. 9548.
  588.  
  589. The OSI transport layer service and protocol are defined in ISO
  590. 8072/8073 and X.214/224. These standards define 5 different flavors of
  591. one transport protocol for the connection-oriented transport service.
  592. TP0 is the simplest version, and assumes that the network service is
  593. reliable enough for the application. TP1 provides error recovery, i.e.,
  594. after a network failure, the transport layer implementation is capable
  595. of automatically reestablishing the connection without notifying the
  596. higher layers. TP1 won't detect errors that are not signaled by the
  597. network layer, e.g., by a disconnect message. TP2 provides the ability
  598. to multiplex several transport connections over a single network
  599. connection and TP3 provides both error recovery and multiplexing
  600. (TP1+TP2=TP3). Finally, TP4 provides all this, plus error detection,
  601. error correction and packet resequencing. TP4 is intended to be used
  602. over unreliable connectionless networks. ISO 8602 defines a protocol
  603. for the connectionless transport service (CLTS) and ISO 11570 a
  604. transport protocol identification mechanism.
  605.  
  606. The network service, and the secrets of OSI network service access
  607. point (NSAP) addresses, are defined in ISO 8348 and X.213. ISO 8648
  608. defines the internal organization of the network layer in 3 sublayers
  609. and ISO 8880 describes protocol combinations for the network service.
  610. ISO 10028 specifies the relaying function of an intermediate system.
  611.  
  612. The connectionless network service may be provided by the
  613. connectionless network protocol (CLNP, also known as ISO IP) defined in
  614. ISO 8473. In combination with CLNP, the End System to Intermediate
  615. System Routeing Information Exchange Protocol (ESIS) defined in ISO
  616. 9542, the Intermediate System to Intermediate System Routeing
  617. Information Exchange Protocol (ISIS) defined in ISO 10589 and the
  618. Protocol for Exchange of Inter-Domain Routeing Information (ISO 10747)
  619. may be used. CLNP is normally used together with TP4 as the transport
  620. protocol.
  621.  
  622. The connection-oriented network service (CONS) may be provided by
  623. X.25 (ISO 8202) as defined in ISO 8878|X.223. ISO 8881 extends X.25 for
  624. use in local area networks, ISO 10732 describes some details of using
  625. X.25 for providing the CONS over the telephone network and ISO 10588
  626. describes how to use X.25 over X.21/X.21bis lines for providing the
  627. CONS. ISO 10177 defines an intermediate system using X.25/CONS and ISO
  628. 10030 is the ESIS version for X.25/CONS. Using ISDN (the new digital
  629. telephone network) for providing the CONS is specified in ISO 9574.
  630.  
  631. And another layer: the Data Link Service is defined in ISO 8886|X.212.
  632. Most data link layer protocols are based on the High-level Data Link
  633. Control (HDLC) family of error correction protocols. These are
  634. described in the standards ISO 3309/4335/7478/7809/8471/8885. One
  635. popular HDLC protocol is the subset LAPB defined in ISO 7776, which is
  636. often used with X.25 on point-to-point lines. ISO 8802 (also known as
  637. IEEE 802) defines several LAN systems, e.g. ISO 8802-3 is the well
  638. known Ethernet (CSMA/CD) specification. ISO 8802-2 defines the data
  639. link layer protocol for LANs Logical Link Control (LLC). LLC1 is the
  640. connectionless and LLC2 the connection-oriented version. The Fiber
  641. Distributed Data Interface (FDDI) is a fiber optic LAN system for 100
  642. Mbit/s specified in ISO 9314.
  643.  
  644. The Physical Layer Service Definition is defined in ISO 10022|X.211.
  645. The physical layers of LANs are, in most cases, defined in the same
  646. documents as the layer 2 descriptions. There are also many ISO and IEC
  647. standards for all kinds of plugs and connectors.
  648.  
  649. OSI standards define a lot of options, and they may be combined in a
  650. huge variety of ways in order to be suitable for all kinds of
  651. requirements (and sometimes for political reasons :-( ). Consequently,
  652. if you have two boxes that claim to be OSI conforming, this doesn't
  653. mean that you can plug them together and they will work together,
  654. because they can use different lower layer protocols and different
  655. higher layer options. In order to create standards that allow that
  656. conforming and compatible products will interoperate, profiles have
  657. been defined. A profile is a set of options and combinations selected
  658. from the protocol standards such that it is guaranteed that
  659. implementations conforming to the (same!) profile will be able to
  660. communicate. Technical report ISO TR 10000 gives the ISO profile
  661. framework. 'A' profiles have been defined for application layer
  662. protocols (e.g. AFT11 in the international standardized profile ISO ISP
  663. 10607 for a simple FTAM file transfer subset and AOM12 in ISO ISP 11183
  664. is an enhanced management protocol subset), 'T' profiles define layer
  665. 1-4 stacks (ISO ISP 10609) and 'F' profiles are for file formats (e.g.
  666. FOD36 is a de luxe version of ODA).
  667.  
  668. A good list of all OSI related standards and their current status is
  669. printed twice a year in the ACM SIGCOMM journal Computer Communication
  670. Review. A list of CCITT standards is available from the Teledoc mail
  671. server described in the standards FAQ where you'll also find a short
  672. list of other ISO standards relevant to computing. For more
  673. information, order the orange ISO Catalogue from your national ISO
  674. member body.
  675.  
  676.  
  677. How are OSI and TCP/IP related?
  678. -------------------------------
  679.  
  680. TCP/IP is a suite of protocols that has been developed by the US
  681. Department of Defense and that are used on the Internet. Software
  682. supporting TCP/IP is part of nearly every UNIX distribution today.
  683. TCP/IP is not a OSI protocol and does not fit in the OSI reference
  684. model. However, the service provided by IP is very similar to the
  685. connectionless network service provided by CLNP, and so, IP is
  686. generally called a layer 3 protocol. Similarly, TCP may be compared
  687. with TP4 and can be seen as a layer 4 protocol in the reference model.
  688. The major differences are the address space, which is a 4-byte sequence
  689. in IP and up to 20 bytes in OSI, and the fact that TCP is a
  690. stream-oriented protocol that doesn't provide any protocol data unit
  691. boundaries. Other details are a few missing features in TCP/IP like
  692. quality of service negotiation and routing restrictions.
  693.  
  694. The Internet standard RFC 1006 defines a method of providing the
  695. connection-oriented transport service (COTS) for OSI over TCP. This is
  696. done using a packet length indicator and the TP0 protocol. RFC 1006 is
  697. only an interim solution, and there are long term plans to introduce
  698. CLNP in the Internet. OSI Services that are used today on the Internet
  699. (e.g. the X.400 and X.500 pilots) use RFC 1006 over TCP/IP.
  700.  
  701. The higher layer protocols in the DoD/Internet suite may be mapped as
  702. follows:
  703.  
  704.        DoD/Internet                   OSI
  705.      ----------------------------------------------------------------
  706.        ftp                            FTAM
  707.        RFC822, SMTP, MIME             X.400
  708.        Telnet, rlogin                 VT
  709.        Gopher+, WWW                   DFR
  710.        WAIS                           SR    (both are based on Z39.50)
  711.        SNMP                           CMIP
  712.        USENET, NNTP                   X.gc
  713.        X Window System                (will be included in OSI)
  714.        NTP (network time protocol)    (under consideration by CCITT)
  715.        OSPF, ISIS                     ISIS
  716.  
  717. Internet Protocols with no OSI equivalent today:
  718.  
  719.        Relay Chat, IRC                OSI has only a standard name for this
  720.                                       so far: synchronous group communication
  721.        Talk                           might perhaps be defined as a VT profile
  722.  
  723. OSI protocols with no TCP/IP equivalent:
  724.  
  725.        X.500                          perhaps finger :-)
  726.        JTM
  727.        parts of DFR
  728.        parts of X.gc
  729.        RDA
  730.        MMS
  731.        Interlibrary Loan Protocol
  732.  
  733.  
  734. Which is better: TCP/IP or OSI?
  735. -------------------------------
  736.  
  737. This question periodically results in flame wars in comp.protocols.iso.
  738. If you missed the last one, here is one opinion:
  739.  
  740.   Neither.  In theory, OSI has the more advanced feature set,
  741.   including significantly more sophisticated application protocols
  742.   including some for services not available at all in the TCP/IP suite.
  743.   In practice, TCP/IP is much more widely implemented and deployed, so
  744.   you are much more likely to find TCP/IP products to suit your needs,
  745.   and typically at much lower prices than equivalent OSI products.
  746.  
  747.                                                   don provan
  748.                                                   donp@novell.com
  749.  
  750. [Others are welcome!]
  751.  
  752.  
  753. OSI criticism
  754. -------------
  755.  
  756. The OSI protocols still suffer from not being used outside communities
  757. where their use is enforced by regulations. Many other protocols (e.g.
  758. TCP/IP, SNA and Novell) are much more popular than the official standards
  759. of computer networking and many people think that the following reasons
  760. have contributed to this situation:
  761.  
  762.   - OSI protocols haven't been tested widly before having been
  763.     standardized and are not based on existing practice in large
  764.     scale computer networking (e.g. Arpanet).
  765.  
  766.   - OSI standards are (compared to Internet standards and RFCs) very
  767.     expensive and difficult to obtain.
  768.  
  769.   - The OSI reference model is too complex and has too much layers.
  770.     The session layer should better be a part of the application layer
  771.     and isn't of much use at the current position. Although it is
  772.     possible to implement just a minimal kernel functionality of 
  773.     both the session and presentation layers, even having to
  774.     understand the very difficult documents isn't very motivating.
  775.  
  776.   - Promising new network technologies like ATM networks don't fit in the
  777.     OSI reference model very well and many important techniques like
  778.     LANs, RPC and stateless protocols became popular after the OSI RM
  779.     had been standardized.
  780.  
  781.   - Having two completely incompatible alternative protocols (CLNP and
  782.     X.25) at the network layer (and consequently many different transport
  783.     layers that try to compensate the differences) isn't what helps you
  784.     in building up a fully interconnected easy to use and maintain
  785.     global network. There is broad agreement among knowledgeable
  786.     people that a connectionless network layer is technically superior
  787.     to the X.25/TP0 approach (which in practice provides NO reliable
  788.     end-to-end transport service, because recovery from intermediate
  789.     node failures is impossible).
  790.  
  791. Christian Huitema <huitema@mitsou.inria.fr> explained the various problems
  792. with OSI quite well when he posted suggestions about explaining the
  793. design principles behind OSI to students in network classes:
  794.  
  795. "Once the class is reasonably at ease with the "basics", it is relatively easy
  796. to introduce the OSI model -- as a baroque left over of the 70's. You have to
  797. do it with an historical perspective; a few tips:
  798.  
  799.  * the model was invented before local networks, and also before RPC.
  800.  
  801.  * the layer decomposition dates back from the time when you had the transport
  802.    programmed in a "front end" and a "session control" programmed in a
  803.    "channel manager".
  804.  
  805.  * ASN.1 was *NOT* part of the original model. If you go back to the early
  806.    ideas, there should not have been an "application standard". Rather, the
  807.    presentation would specify some "common document format", common to all
  808.    applications. The session would be used to ensure that a "consistent" copy
  809.    of this common document was kept at both end.
  810.  
  811.  * the session itself cannot be understoud if you don't present T.62 -- or
  812.    rather, 1980's S.62. Why modern applications would have to bear the load of
  813.    compatibility with a still born super-telex service is indeed a matter of
  814.    interesting debate.
  815.  
  816.  * explaining the relation between an application syntax, a presentation
  817.    context, an application context, an application entity, an application
  818.    process and a PSAP address is great fun.
  819.  
  820.  * indeed, the use of session through the presentation by ACSE, RTSE and CCR
  821.    is also amazing.
  822.  
  823. Then you end up the class explaining that all this is not very serious..."
  824.  
  825.  
  826. Which free OSI implementations are available?
  827. ---------------------------------------------
  828.  
  829. ISODE (pronounce it ISO-D-E, but don't call it the ISO Development
  830. Environment) implements ISO layers 4-7 on UNIX systems. Among the
  831. supported lower layer stacks are RFC1006/TCP/IP and various X.25 and
  832. CLNP implementations. With ISODE you get ASN.1 tools and
  833. implementations of X.500 (QUIPU) and FTAM. Version 8.0 is the last
  834. public domain version and an ISODE Consortium has been founded that
  835. will coordinate further development on a commercial basis. A free Patch
  836. No. 1 with bug fixes for ISODE 8.0 has been provided by the ISODE
  837. Consortium which can be ftped from isode.com.
  838.  
  839. The ISODE and QUIPU mailing list archives are available via anonymous
  840. ftp and gopher from info.educom.edu. The isode and quipu are in
  841. /pub/isode and /pub/quipu respectively.
  842.  
  843. PP is a X.400 message transfer agent and a gateway to other e-mail
  844. systems based on ISODE. The current public domain version is 6.0 and
  845. further commercial development will be done by the ISODE Consortium.
  846.  
  847. Both ISODE and PP are available from many anonymous ftp servers, e.g.
  848. from cs.ucl.ac.uk in directory src.
  849.  
  850. OSIMIS is UCL's OSI management system. It does not intend to provide a
  851. comprehensive set of OSI management facilities but rather to show how
  852. the rich OSI Management functionality can be exploited and to provide
  853. facilities of a generic OSI management platform. In particular,
  854. extended support through an object-oriented (C++) Application Program
  855. Interface (API) is provided to implementors of management applications
  856. in both agent and manager roles, which hides the details of management
  857. information access through the OSI management service/protocol CMIS/P.
  858. The system has been developed using ISODE 7.0 and GNU C++. To get a
  859. copy ftp to cs.ucl.ac.uk [128.16.5.31] and retrieve the file
  860. proof/osimis-2.99.tar.Z as usual in binary mode.
  861.  
  862. [Posted by Peter Kay <P.Kay@massey.ac.nz>:]
  863.  
  864. The clients of ISODE 8.0 have now been ported to OS/2. (pepsy, pepy,
  865. posy, rosy, isoc, imisc, ftam, dish, de and sd). They are available by
  866. anonymous ftp from cc-vms1.massey.ac.nz (130.123.1.4), in the files
  867. os2isode80.zip (for those who want to rebuild the system) or
  868. os2isode-runtime.zip (for those who only want the executables). I
  869. suggest you copy and read the file os2readme first.
  870.  
  871. The port was based on Essex Systems Inc TCP/2 package. It will NOT work
  872. with any others. To run the programs you will need the TCP/2 package.
  873. To rebuild the system you will also need its Developers Kit and the
  874. Microsoft C v6.0 compiler.
  875.  
  876. [Posted by Graham Wheeler <gram@aim1.aztec.co.za>:]
  877.  
  878. An MS-DOS-based ESTELLE compiler/interpreter should be on simtel, in
  879. the Networks directory, with the name PEW2_1.ZIP.
  880.  
  881.  
  882. New and planned OSI standards
  883. -----------------------------
  884.  
  885. A group is working on an 'asynchronous group communication' standard
  886. based on X.400, X.500 and DFR. This will include a news system similar
  887. to but more sophisticated than USENET and facilities for joint editing
  888. of documents and voting/polling. The name of the draft document is
  889. currently X.gc.
  890.  
  891. X.400(1988) has been extended to include voice, Electronic Data
  892. Interchange (EDI) and file transfer in the message body. Also many bugs
  893. in the specification have been fixed and the new 1992 version is
  894. expected to be published very soon.
  895.  
  896. An addendum 1 (filestore management) to FTAM now defines a hierarchical
  897. file system with subdirectories, links, paths, etc. Previously, paths
  898. have been long file names and were OS dependent (e.g. / in Unix, \ in
  899. MS-DOS) and directories have been treated like files (e.g. '.').
  900.  
  901. HDLC has been extended to include an asynchronous mode that defines how
  902. to use the layer 2 framing with start/stop bits and byte stuffing on
  903. the serial ports that are part of every PC. Check ISO 3309 addendum
  904. 1-3.
  905.  
  906. ISO is working on an OSI-based remote procedure call standard (ISO CD
  907. 11578).
  908.  
  909.  
  910. Books and Journals
  911. ------------------
  912.  
  913. [Posted by Even Splett <e_splett@trofs.enet.dec.com> and others with
  914. comments collected by Khac Binh Su <kbs@ccr-p6.ccr.jussieu.fr> and
  915. others:]
  916.  
  917. Data communications, Computer Networks and OSI
  918. Halsall, Fred
  919. 549 p.
  920. Addison-Wesley
  921. ISBN 0-201-18244-0
  922.  
  923. Networking in Open Systems; international seminar, Oberlech, Austria,
  924. Muller, Gunter. Blanc, Robert P.
  925. Berlin, Springer-Verlag, c1987
  926. Lecture notes in computer science; 248
  927. 441 p.
  928. QA76.L42 v.248 1987
  929. ISBN 3540177078
  930.  
  931. OSI Explained; end-to-end computer communication standards.
  932. Henshall, John,  Shaw, Sandy.
  933. Ellis Horwood Ltd.
  934. distributed by John Wiley & Sons Ltd.
  935. 217 p.
  936. TK5105.5.H47
  937. ISBN 0745802532  Ellis Horwood
  938. ISBN 0470211008  Halsted Press
  939.  
  940.   Very good on transport and above, including a consolidation by 3
  941.   examples that shows how the upper layers work together to establish an
  942.   association, transfer data, and release it. It also has a chapter each
  943.   on FTAM, X.400, and X.500, but does very little with ASN.1, a real
  944.   weakness in an otherwise excellent book.  Its other virtue: it is under
  945.   250 pages.
  946.  
  947. Open Systems; the Basic Guide to OSI and its Implementation.
  948. Judge, Peter J.
  949. QED Information Sciences
  950. Authorized reprint of -- Sutton, Surrey, Computer Weekly. (ISBN 1853840092)
  951. 184 p.
  952. TK5105.5.J83  1989
  953. ISBN 0894353101
  954.  
  955. Open Systems
  956. Karial, Henry S.
  957. JA71.K32 1969
  958.  
  959. OSI: a Model for Computer Communications Standards
  960. Black, Uyless D.
  961. Prentice Hall
  962. TK5105.5.B5656  1991
  963. ISBN 0-13-637133-7
  964.  
  965.   An excellent OSI introduction.
  966.  
  967. The Open Book : A Practical Perspective on OSI
  968. Rose, Marshall T
  969. Tk5105.5.R67  1989
  970. Prentice Hall
  971. ISBN 0-13-643016-3
  972.  
  973.   It is fun reading, and it gives you the general idea about the whole
  974.   stuff. One of its most interesting topics is transition: how to migrate
  975.   to OSI from a TCP/IP oriented world. Excellent, but not cheap. In
  976.   Germany it is 150,-- DM.
  977.  
  978.   I started with Marshall T. Rose's The Open Book - a practical 
  979.   perspective on OSI by Prentice-Hall. It came out in 1991 so it is quite
  980.   up to date, but not cheap (at least in Finland).
  981.  
  982.   It is not an exclusive book on the upper layers of the OSI. 
  983.   Nevertheless, his presentation of the upper layers in a couple of
  984.   chapters is sufficient enough to start.
  985.  
  986.   I am not such a fan of Marshall Rose's "The Open Book" as I once was. 
  987.   At this point, the book is getting a bit dated (the publication date is
  988.   1990 on my edition; a lot has changed in that time), and it emphasizes
  989.   the upper layers to the detriment of the lower layers. I have found the
  990.   book by  Uyless Black superior in several respects: it is newer, it is
  991.   technically denser, and it refrains from excessive editorializing.
  992.  
  993. Complete guide to ISO protocols Vol 1
  994. Thomas, Steve
  995. Springer Verlag
  996. ISBN 0387970231
  997.  
  998. Handbook of computer communications standards, Vol 1
  999. The Open Systems Interconnection (OSI) model
  1000. Stallings, William   1989
  1001. ISBN 0-672-22664-2 Howard W. Sams & Company
  1002. ISBN 002948071x    Macmillan
  1003.  
  1004.   This book is OK, but lacks the finer details.
  1005.  
  1006. An introduction to Open Systems Interconnection
  1007. MacKinnon, Dennis
  1008. 254 p.
  1009. Computer Science Press  1990
  1010. TK 5105 M3335  1990
  1011. ISBN 0716781808
  1012.  
  1013. Standards for Open Systems Interconnection
  1014. Knowles
  1015. Blackwell Scientific Publications
  1016. ISBN 0632018682
  1017.  
  1018. OSI in Microcomputer LANs
  1019. Strom, Jim.
  1020. 125 p.
  1021. Manchester: NCC Publications, 1989.
  1022. TK 5105.5 S87  1989
  1023. ISBN 0850127114 (pbk)
  1024.  
  1025. ASN.1, The Tutorial and Reference
  1026. Douglas Steedman
  1027. Technology Appraisals, Grove House, 551 London Road, Isleworth
  1028. (FAX 44 81 569 9569)
  1029. ISBN 1 871802 06 7
  1030.  
  1031. Open Systems Interconnection
  1032. by Gary Dickson and Alan Lloyd
  1033. Prentice Hall Australia  (1992)
  1034. ISBN 0 13 640111 2
  1035.  
  1036. ISODE 8.0 Manual
  1037.  
  1038.   The ISODE  manual is a nice reference material if you are looking for
  1039.   implementation details of the upper layers. In fact, looking at ISODE
  1040.   code is probably the best way to see how the "theoretical" stuff is
  1041.   applied.
  1042.  
  1043. Teleinformatique by Nussbaumer,
  1044. published by Presses polytechniques
  1045. romandes (french version)
  1046.  
  1047.   The vol 3&4 are the best books available in french for the upper
  1048.   layers.
  1049.  
  1050. Computer Networks by Andrew Tannenbaum
  1051.  
  1052.   This book explains accurately the general aspects of problems up-to
  1053.   layer 6. Layer 7's description is a bit vague.
  1054.  
  1055.   A very nice introduction in computer communication that also covers 
  1056.   OSI. Highly recommended for computer science students and others
  1057.   searching a good general networking introduction.
  1058.  
  1059. Communication Network Protocols - OSI Explained
  1060. Brian W. Marsden
  1061. Chartwell-Bratt (UK)
  1062. 1991 (3rd edition)
  1063. ISBN 0-86238-276-9
  1064.  
  1065.   It is extremely idiosyncratic, and should not be read except in
  1066.   conjunction with another book. Also, only some of it is about OSI. It
  1067.   is, however (a) very cheap (15 UK pounds), and (b) the only book I know
  1068.   of which talks about the UK Coloured Book protocols. These had a major
  1069.   impact on some parts of OSI, particularly JTM, as well as being
  1070.   interesting in their own right.
  1071.  
  1072. Networking Standards
  1073. A Guide to OSI, ISDN, LAN, and MAN Standards
  1074. Stallings, William
  1075. Addison-Wesley 1993
  1076. 627 pages
  1077. ISBN 0-201-56357-6
  1078.  
  1079.   Provides an overview of basic OSI standards, then a detailed 
  1080.   technical discussion of leading-edge OSI-related standards, including 
  1081.   internetworking and routing, ISDN and BISDN, LAN and MAN,  network
  1082.   management, security, and international standardized  profiles.
  1083.  
  1084. [End of comp.protocols.iso FAQ]
  1085.  
  1086. -- 
  1087. Markus Kuhn, Computer Science student ½░o░╗ University of Erlangen, Germany
  1088. Internet: mskuhn@cip.informatik.uni-erlangen.de   |   X.500 entry available
  1089.